<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    var cache = {}
    // 式输出斐波那契数列的前十项
    // 创建一个函数,功能是返回这个下标为n的这项数字
    function fib(n) {
      // 判断缓存对象中有没有这个值,如果有,直接用
      if (cache.hasOwnProperty(n)) {
        return cache[n]
      }
      // 缓存对象中没有这个值
      let v = n == 0 || n == 1 ? 1 : fib(n - 1) + fib(n - 2)
      // 写入缓存
      cache[n] = v
      return v
    }

    for (let i = 0; i <= 9; i++) {
      console.log(fib(i));
    }
  </script>
</body>

</html>